草庐IT

php dns 记录

全部标签

php - sql中删除重复记录的方法

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowtodeleteduplicaterowswithSQL?我有一个包含记录的表,我想删除所有重复的记录DELETEFROM'table'WHERE'field'IN(SELECT'field'FROM'table'GROUPBY'field'HAVING(COUNT('field')>1))为什么这不起作用?

删除大表中的记录时MySQL很慢

我有一个这样的查询需要很长时间才能运行。该表大约有400万行。DELETEFROMTABLEWHEREvalue_wasISNULLORvalue_was我希望我可以为(value_was,value_now)创建一个索引,这样我就可以做类似的事情DELETEFROMTABLEWHEREID1IN(SELECTID1fromTABLEwherevalue_wasISNULL)ORID2IN(SELECTID2FROMTABLEWHEREvalue_was这个表没有主键。它有两个复合键。而且我想我不能在子查询中使用同一个表,但是如何提高第一个查询的性能?非常感谢任何建议将不胜感激。更新:

mysql - 从 MySQL 中的给定表中删除行时记录

我有一个从不同API访问的MySQL表。我想记录何时从此表中删除任何行。这可能吗? 最佳答案 是的,您可以使用一个简单的触发器,例如;CREATETRIGGERdata_deleteBEFOREDELETEONdataFOREACHROWBEGININSERTINTOlog(logmessage)VALUES(CONCAT('Deleteofvalue',OLD.id));ENDAsimpleSQLfiddledemo. 关于mysql-从MySQL中的给定表中删除行时记录,我们在Sta

mysql - ALTER TABLE tbl AUTO_INCREMENT = 123 作为 codeigniter 事件记录查询?

如何执行ALTERTABLEtblnameAUTO_INCREMENT=123作为codeigniter事件记录查询?在codeigniter中有一个叫做dbforge->modify_column()的东西,我是否必须使用它,如果是的话如何? 最佳答案 试试这个$this->db->query("ALTERTABLEtable_nameAUTO_INCREMENT1");在AUTO_INCREMENT之后更改值,您希望从此处开始自动递增值$this->db->query("ALTERTABLEtable_nameAUTO_INCR

mysql - 无法截断 MySQL 表,同时能够删除所有记录

我是关系的初学者,所以这听起来可能很愚蠢。但是,截断表和删除所有记录之间(在MySQL中)有什么区别(this答案仅说明性能)?我正在(在phpMyAdmin中)玩我的一个测试表,检查如何重置表的auto_increment值并遇到我能够删除所有记录的情况:DELETEfrommanagers;但是当我试图截断这个表时(TRUNCATEmanagers),我得到了警告:无法截断在外键约束中引用的表(探针,CONSTRAINTprobes_ibfk_4FOREIGNKEY(manager_id)REFERENCESmanagers(id));.我必须使用ALTERTABLEmanager

mysql - 如果某个值存在,则从表中选择记录,如果不存在,则选择其他记录

我有一个这样的表:projectName|info--------------------all|i1all|i2all|i3name1|i4name1|i5all|i6我有一个检查项目名称的查询。如果它存在于表中,我只需要选择有关该特定项目的信息。如果不存在,我必须获取“所有”项目的信息。例如,如果我输入的是“name1”,我的输出应该是:i4i5如果我输入的是“name2”,我的输出应该是:i1i2i3i6有没有办法在mysql查询中执行此操作?我查找了示例,但我发现的所有内容都是关于从两个不同的表中检索信息的。 最佳答案 一种

mysql - 使数据库中的记录过期的最佳方法/选项是什么?

这些天我似乎在处理很多数据库,我不能因为各种原因只删除一条记录,包括稍后它们可以稍后显示(比如不再存在的产品)或者只是保留过去的历史。所以我的问题是如何最好地使记录过期。我经常添加一个date_expired列,它是日期时间字段。通常,我会查询wheredate_expired=0或date_expired=0ORdate_expired>NOW(),具体取决于数据将来是否会过期。与此类似,我也添加了一个字段调用expired_flag。当设置为true/1时,记录被认为已过期。这可能是最简单的方法,但您需要记住在任何时候只需要当前项目时包含过期子句。我看到的另一种方法是将记录移动到存

php - 按频率对 SQL 查询记录排序

有什么方法可以根据某个值在列中出现的频率来对您从SQL查询中选择的记录进行排序吗?例如:如果有五个记录wherecolumn='value1',三个wherecolumn='value2',两个wherecolumn='value3',有没有办法让结果先显示'value1',然后显示'value2',最后是'value3'? 最佳答案 SELECT`column`,COUNT(`column`)AS`count`FROM`table`GROUPBY`column`ORDERBY`count`DESC快速PoC:mysql>CREAT

php - 获取最新时间戳mysql的记录

如何获取最新日期的所有记录。在我的数据库中归档的日期称为recordEntryDate,它的格式为2010-01-2613:28:35语言:php数据库:mysql 最佳答案 你可以这样做:SELECT*FROMtable1WHEREDATE(recordEntryDate)=(SELECTMAX(DATE(recordEntryDate))FROMtable1)请注意,此查询将无法利用recordEntryDate上的索引。如果你有很多行,这个类似的查询对你来说可能会更快:SELECT*FROMtable1WHERErecordE

mysql - 如何查询mysql数据库中的10条随机唯一记录?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:howtoselectrandomuniquerecordsoneachexecutionoftheSQLQuery我有那个结构的数据库:idintimage_namevarchar(200)category_idint大概有200条记录,id是唯一的,大概有20个类别,我的iamges是在它们之间分类的。你能帮我做一个查询吗?该查询会给我10条具有唯一类别ID的记录?